#include <ustdio.h>
#include <stdarg.h>
#include <stdio.h>
#include <stdint.h>
#include <string.h>
#include <_stdlib.h>
void utoa(unsigned int value,int base,char *str);
void utoa_s(int value,int base,char *str);

int __fprintf_helper(char tok,uint32_t impl){
	FILE *file = (FILE *) impl;
	if (uwrite(*file,(uint8_t *)&tok,sizeof(tok)) != sizeof(tok));
		return 0;
	return 0;
}

int vfprintf(FILE *fd,const char* str, va_list args){
	return __vprintf(
		__fprintf_helper,
		(uint32_t) fd,
		str,	
		args);
}

int vprintf(const char* str, va_list args){
	int stdout = 1;
	return __vprintf(
		__fprintf_helper,
		(uint32_t) &stdout,
		str,
		args);
}

int fprintf(FILE *fd,const char* str,...){
	va_list args;
	va_start(args,str);
	int res = vfprintf(fd,str,args);
	va_end(args);
	return res;
}

int printf(const char* str,...){
	va_list args;
	va_start(args,str);
	int res = vprintf(str,args);
	va_end(args);
	return res;
}